﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharedLib.XmlDataModel
{
    /// <summary>
    /// All data objects implementing this interface will have a key collection
    /// <para>Value could be retrieved or set according to given key</para>
    /// </summary>
    public interface IHasStringKeys
    {
        /// <summary>
        /// Get key collection
        /// </summary>
        ICollection<string> Keys { get; }

        /// <summary>
        /// Get value according to key
        /// </summary>
        /// <param name="key">key</param>
        /// <returns>value</returns>
        string GetValue(string key);

        /// <summary>
        /// Set value according to key
        /// </summary>
        /// <param name="key"key></param>
        /// <param name="value">value</param>
        void SetValue(string key, string value);
    }
}
